package com.frejoys.common.vo.admin;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class OrderListVo {



    @Schema(type = "Integer", name = "id", description = "订单id")
    private Integer id;

    // 用户id
    @Schema(type = "Long", name = "userId", description = "用户id")
    private Long userId;

    //下单用户
    @Schema(type = "String", name = "nickname", description = "昵称")
    private String nickname;

    //下单用户电话
    @Schema(type = "String", name = "phone", description = "用户电话")
    private String phone;

    // 店铺id
    @Schema(type = "Integer", name = "storeId", description = "店铺id")
    private Integer storeId;

    //店名
    @Schema(type = "String", name = "storeName", description = "店名")
    private String storeName;

    // 店谱Logo
    @Schema(type = "String", name = "logo", description = "店谱Logo")
    private String logo;

    // 店铺活动id
    @Schema(type = "Integer", name = "storeActivityId", description = "店铺活动id")
    private Integer storeActivityId;


    // 订单编号
    @Schema(type = "Long", name = "orderSn", description = "订单编号")
    private Long orderSn;

    // 金额
    @Schema(type = "BigDecimal", name = "price", description = "金额")
    private BigDecimal price;

    // 返利金额
    // @Schema(type = "BigDecimal", name = "rebateMoney", description = "返利金额", required = true, defaultValue = "1")
    // private BigDecimal rebateMoney;

    // 支付类型：1微信支付
    @Schema(type = "Integer", name = "payType", description = "支付类型：1微信支付")
    private Integer payType;

    // 支付状态：0待支付，1已支付，2.退款中，3已退款
    @Schema(type = "Integer", name = "payStatus", description = "支付状态：0待支付，1已支付，2.退款中，3已退款")
    private Integer payStatus;

    // 支付时间（Unix 时间戳）
    @Schema(type = "Integer", name = "payTime", description = "支付时间")
    private Integer payTime;

    // 订单状态：0待收货，1已收货
    @Schema(type = "Integer", name = "receive", description = "商品状态：0待收货，1已发货，2已收货")
    private Integer receive;

    // 核销状态：0待核销，1已核销
    @Schema(type = "Integer", name = "verify", description = "核销状态：0待核销，1已核销待结算，2已结算，3已返利")
    private Integer verify;

    @Schema(type = "Integer", name = "verifyTime", description = "核销核销时间")
    private Integer verifyTime;

    // 转换积分：0待转换，1已转换
    @Schema(type = "Integer", name = "isScore", description = "转换积分：0待转换，1已转换")
    private Integer isScore;


    @Schema(type = "Integer", name = "type", description = "类型：1实物订单，2线上下单虚拟订单，3线下虚拟订单")
    private Integer type;

    // 创建时间（Unix 时间戳）
    @Schema(type = "Integer", name = "createTime", description = "创建时间")
    private Integer createTime;

    @Schema(type = "Integer", name = "status", description = "状态")
    private Integer status;
}
